package com.vue3.blog.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.vue3.blog.common.resp.PageVO;
import com.vue3.blog.domain.dto.CommentDTO;
import com.vue3.blog.domain.entity.CommentEntity;
import com.vue3.blog.domain.vo.CommentListVO;
import com.vue3.blog.domain.vo.CommentTreeVO;

import java.util.List;

/**
 * @author Mr.小朱同学
 * @version 1.0.0
 * @date 2025/6/13 19:43
 * @description 文章评论
 */
public interface ICommentService extends IService<CommentEntity> {
    /**
     * 保存评论
     */
    void saveComment(CommentDTO comment);

    /**
     * 删除评论
     *
     * @param id 评论ID
     */
    void removeComment(Long id);

    /**
     * 评论列表
     */
    List<CommentTreeVO> getFrontendCommentList(Long postId);

    /**
     * 评论列表
     */
    PageVO<CommentListVO> getCommentList();

    /**
     * 评论数
     */
    Long getCommentCount();
}